#!/bin/bash

#  出错时立即退出
set -e

# 检查是否传入参数
if [ -z "$1" ]; then
  echo "请传入环境参数(test|pro)"
  exit 1
fi

# 根据参数设置目录名称和远程路径
case $1 in
  test)
    DIR_NAME="manage-test"
    ;;
  pro)
    DIR_NAME="manage"
    ;;
  *)
    echo "无效的环境参数。请使用 test 或 pro"
    exit 1
    ;;
esac

# 构建项目
npm run build || { echo "构建失败，停止执行"; exit 1; }

# 打包 dist 并上传
tar --no-xattrs -zcvf dist.tar.gz dist/

# 清理远程旧包
ssh root@zhangjianyong.top "rm -rf /usr/share/nginx/dist.tar.gz"

# 上传打包文件
scp dist.tar.gz root@zhangjianyong.top:/usr/share/nginx/

# 远程解压
ssh root@zhangjianyong.top "tar -zxvf /usr/share/nginx/dist.tar.gz -C /usr/share/nginx/"

# 删除远程旧内容
ssh root@zhangjianyong.top "rm -rf /usr/share/nginx/${DIR_NAME} && mv /usr/share/nginx/dist /usr/share/nginx/${DIR_NAME}"

# 可选：清理远程临时文件
##ssh root@zhangjianyong.top "rm -rf /usr/share/nginx/dist /usr/share/nginx/dist.tar.gz"

# 本地清理
#rm -rf dist.tar.gz